package br.pucrs.prototipoonline.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import br.pucrs.prototipoonline.facade.ProjetosFacade;
import br.pucrs.prototipoonline.json.ProjetoJS;
import br.pucrs.prototipoonline.util.JSONUtil;
import br.pucrs.prototipoonline.vo.ProjetoVO;


/**
 * 
 * @author Ricardo Luckei
 * @author Gelson Gentil
 *
 */
public class SalvarProjetoAction extends POAjaxAction {

	private Logger logger = Logger.getLogger(SalvarProjetoAction.class);
	
	public ActionForward executar(ActionMapping mapping, ActionForm actionForm,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		logger.info("Entrando");
		
		String str = request.getParameter("jsonParam");
		logger.debug(str);
		
		ProjetoJS projetoJS = (ProjetoJS) JSONUtil.toBean(str, ProjetoJS.class);
		logger.debug(projetoJS.getId() + "-" + projetoJS.getNome());
		logger.debug(projetoJS.getTelas()[0].getId() + "-"+projetoJS.getTelas()[0].getNome());
		
		ProjetosFacade projetoFacade = (ProjetosFacade) getFacade(ProjetosFacade.class);
		ProjetoVO pvo = JSONUtil.convertFromJson(projetoJS, usuarioVO.getId());
		
		pvo = projetoFacade.salvarProjeto(pvo);
		
		projetoJS = JSONUtil.convertToJson(pvo);
		
		writeOutput(JSONUtil.toJson(projetoJS));
		
		logger.info("Saindo");
		return null;
	}
}
